const express = require('express');
const cors = require('cors');
const booksRouter = require('./routes/books');
const usersRouter = require('./routes/users');
const borrowingsRouter = require('./routes/borrowings');
const authRouter = require('./routes/auth');

const app = express();

// 中间件
app.use(cors());
app.use(express.json());

// 路由
app.use('/api/auth', authRouter);
app.use('/api/books', booksRouter);
app.use('/api/users', usersRouter);
app.use('/api/borrowings', borrowingsRouter);

// 错误处理中间件
app.use((err, req, res, next) => {
    console.error('服务器错误:', err);
    res.status(500).json({
        error: '服务器内部错误',
        details: err.message
    });
});

// 处理未找到的路由
app.use((req, res) => {
    res.status(404).json({ error: '未找到请求的资源' });
});

const PORT = process.env.PORT || 3000;
app.listen(PORT, () => {
    console.log(`服务器运行在端口 ${PORT}`);
});

// 处理未捕获的异常
process.on('uncaughtException', (err) => {
    console.error('未捕获的异常:', err);
});

process.on('unhandledRejection', (err) => {
    console.error('未处理的 Promise 拒绝:', err);
}); 